23

» WarCraft 3 / Не отображаются эффекты на модели.

Похожие вопросы:

ответ
Если юнит под баффом "чума" - добавить в отряд Чума
Иначе - удалить из отряда Чума
Триггер
С. Таймер Чума
Отряд выбрать юнитов Чума
Если юнит умер
Д. создать юнита в позиции выбранного юнита.
ответ
нет, birth не вшита в stand...
автор просто немного накосячил с анимацией видимости...
держи...
на этот раз бесплатно и без смс..)

23

» WarCraft 3 / Не выбирается модель в игре

Похожие вопросы:

ответ
Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
  1. Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
  2. Можно от даммика развеяние нежити за 0.01 сек.
  3. Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
ответ
Они не прописаны в списке моделей для редактора... попробуй вручную изменять путь.
ответ
Рассчитал границы. Теперь нормально выбирается.
ответ
вот, выбирается
так как там нет геометрии (а только источники частиц), то так просто в один клик не рассчитываются границы
надо вручную создавать объект "форма" с нужным радиусом и координатами, в редакторе узлов model editor'а

23

» WarCraft 3 / Id Способности

Похожие вопросы:

ответ
wupse, второй спелбук
ответ
Стандартный ИИ никак, только если вы замените канал какими-то другим скиллом, который юзает ИИ в схожей ситуации ( если нужно чтобы ии юзал спелл в толпе то подойдет вызов волка или стомп в качестве пустышки). Ну или совсем радикальный вариант, писать свой ИИ.
ответ
Юзает первый скилл, потом второй. Ну у меня так было) Закрывай тему ибо ответили
ответ
Простым способом, нет не получится...
С триггерами можно
ответ
Nikolay36, очень просто GetUnitTypeId( GetSpellAbilityUnit() )
Как бы это что то ненормальное, спрашивать про элементарные вещи которые описаны в статьях по jass в 101 месте, да и вовсе есть список jass функций из common.j...

23

» WarCraft 3 / Высота юнита

Похожие вопросы:

ответ
Дабы сильно не заморачиваться ставь около 10, не заметно)
ответ
никак
Naadir, прежде чем советовать чтото другим проверь работает ли то что ты советуешь
ответ
Анимация - change unit flying height - указываешь высоту в точках и скорость, с которой юнит из текущей высоты сделает новую, точек в секунду.
Например изменить высоту юнита с высотой 0 до 300 на скорости 900 - плавно установит высоту юнита до 300 за 0.33 секунды (300/900 = 0.33)
Чтобы нелетающий юнит мог плавно менять высоту не забудь добавить ему способность "Превратиться в ворона", после добавления можешь сразу удалить, юнит сможет менять высоту.
ответ
Анимация - изменить высоту юнита (юнит, высота, скорость)
как-то так... или в Спецэффекты

23

» WarCraft 3 / Пассивка при атаке

Похожие вопросы:

ответ
Diazon, а чем сам манабёрн не подходит? Дай еще своим монстрам класс вызванные, будет им+ 20 чистого дмг и спецэффект манабёрна (цвет тока будет не розовый, а желтоватый у спецэффекта )
Манаберн наносит доп урона суммонам, но является орбом (не сочетается с другими орбами ) , хотя тесты и показали что манабёрн ближе по механике к критам чем к орбам и башам...
ответ
Мб это негейшин (амулет защиты) из него мона делать пассивку с кулдауном, для активации кастануть даммиком какойнить скилл в юнита с негейшином, будет кд.
Потом как кд пройдет негейшин удалить и добавить пассивку, ну и так далее.
ответ
Это лечится не юзаньем сферы замедления для подобных пассивок.
Лич долго кочевряжился с этой бедой, сфера замдления перебивает тучу орбов + не стакается с критами\башами.
Делайте триггерный орб (хотя-бы только для тех у кого есть активные автокаст орбы)
ответ
Опен дота в помощь, тупо добавление пассивки на скорость атаки при каждом ударе, потом если юнит бьет другую цель, то удаляем половину бонуса.
ответ
юзай событие юнит получает урон навешанное на каждого юнита
а это ресурсозатратно
ерунду не неси
если хочешь сделать всё очень оптимально то узнай для начала как работает система событий
или вообще юзай екзекют
Diaboliko:
событие получения урона сразу для всех юнитов
это было и до мемхака
вообще бесит когда люди которые не шарят в работе вара начинают выдумывать проблемы а потом искать их решение

23

» WarCraft 3 / Источник частиц

Похожие вопросы:

ответ
Почитай статью об эмиттерах. Скорее всего тебе нужно настроить видимость по кадрам.
ответ
закрыт по таймауту
ответ
nvc123:
это понятно, мысли вслух просто.
так-то уже ответили, что к чему, что если больше 1 модели не вписать - значит никак
ответ
~8gabriel8:
Очередной вопрос, где не приложен файл. Тебе какой ответ нужен? Что надо статьи читать и больше в w3me и mdlvis практиковаться, либо конкретное решение проблемы с твоим портретом демон хантера?

23

» WarCraft 3 / Кампания

Похожие вопросы:

ответ
avuremybe, с буфером игры (кэш) можно работать так же как с хэш таблицей
FrigatPlay, в буфер игры можно сохранять не только юнитов но и предметы
просто перебираем циклом все предметы и сохраняем в кэш
а потом в следующей карте извлекаем их из кэша
ответ
Dima131, импортируешь текстуру, а затем прописываешь ей путь, как у текстуры, которую использует модель
ответ
Ошибка в коде, jass работает везде. pro100master, пишет бред, ибо незнает что все карты для warcraft 3 имеют сценарий на Jass, т.к все ваши триггеры в итоге преобразуются в jass и хранятся в war3map.j, тоже самое и с АИ, которое для кампаний изначально написано на jass и прекрасно работает.
Смотрите где у вас ошибки, cjass\vjass интерпретаторы могут не верно работать с картами кампаний, пробуйте написать код на чистом jass без надстроек.
ответ
Воу-воу, полегче, ты многовато инфы дал. А если серьёзно, то это, скорее всего, Союз Существ.

23

» WarCraft 3 / Помогите найти наработку

Похожие вопросы:

ответ
я нашел примерно что хочу но не могу сделать чтобы юнит мог наносить урон всем кто попадает в область удара(

23

» WarCraft 3 / Warcraft

Похожие вопросы:

ответ
Audes, в Warcraft 3 используется свой движок, написанный Blizzard и он находится в закрытом доступе.
ответ
HMODULE address_StormBase;
uintptr_t address_OpenArchive;

template <typename ReturnType, typename FPType, typename A0, typename A1, typename A2, typename A3>
inline ReturnType std_call(FPType fp, A0 a0, A1 a1, A2 a2, A3 a3)
{
	typedef ReturnType(__stdcall *TFPAeroFunction)(A0 a0, A1 a1, A2 a2, A3 a3);
	return ((TFPAeroFunction)fp)(a0, a1, a2, a3);
}

int SFile_OpenArchive(const char* archiveName, DWORD dwPriority, DWORD dwFlags, HANDLE* pArchiveHandle)
{
	return std_call<int>(address_OpenArchive, archiveName, dwPriority, dwFlags, pArchiveHandle);
}

uint32_t mpqLoadPriority = 15;
void OpenArchive(const std::string& fileName, HANDLE* hMpq)
{
	SFile_OpenArchive(fileName.c_str(), mpqLoadPriority, 0, hMpq);
	mpqLoadPriority++;
}

void main()
{
	address_StormBase = GetModuleHandle("Storm.dll");
	address_OpenArchive = (uintptr_t)GetProcAddress(address_StormBase, "266");

	HANDLE myMpqHandle;
	OpenArchive("MyArchive.mpq", &myMpqHandle);
}
ответ
Нормально экспортирую неодексом из восьмого и одиннадцатого макса. Экспортирует статичную модель? Перед экспортом нужно ведь выделить не только саму модельку, но ещё и кости.
ответ
Закрыто.

23

» WarCraft 3 / Модель

Похожие вопросы:

ответ
Поиск по сайту, если не нашлось, сперва сюда:
Потом сюда:

В следующий раз за такие темы будут варны.
ответ
В действиях "Анимация" есть изменение размера юнита. Ещё есть способности, меняющие размер. Например, жажда крови.
ответ
Cinos, но я же знаю что он столько весить на одних вершинах не должен.
Maniac_91, если проблема не решится я его еще больше ужму.
Короче я тот кирпич все таки был слишком кривым да и очень странным.
Вот простенький прямоугольник с закругленными краями может сойти за кирпич и весом всего то 4 кб.

23

» WarCraft 3 / Иконка героя

Похожие вопросы:

ответ
Ой, нашёл нужный триггер))))
Всем спасибо за внимание =)
ответ
SomeFire:
Fa1korn, тебе нужно удалять не плюсик, а героя. Т.е. создал плюсик, дропнул героя, создал героя.Ну или сначала дропнул героя, а потом создал плюсик. Главное, чтобы герой был создан после плюсика.Только так можно героя поставить выше плюсика. А если не хочешь париться - убивай плюсик и воскрешай когда надо.
С твоей подсказкой до меня дошло, изначально в моей карте герой принадлежал нейтралам, а потом меняет владельца на игрока красного. Получается по счету у игрока нейтральный-пассивный он может быть 5, может быть 27, в зависимости от числа героев, но точно не первый. И после смены владельца его номер таким и и остается. А плюсик я создаю для красного игрока, т.е. он становится первым, т.к. место №1 свободно. Решается это элементарно - плюс создается сначала для нейтрально-пассивного, а затем меняется владелец. Итого плюс у нас под номером 2 )
Melissa:
Возможно нужна небольшая задержка , что я и посоветовал выше.
Нет, с этим всё в порядке, это такая специфика в моей мапе, я не учёл, что изначально все герои нейтральные, а потом меняют владельца...
ответ
UI\MiniMap\MiniMap-Hero.mdx, Эксперементируй.
ответ
Просто выполни на триггерах функцию call remove unit ( в качестве юнита укажи твоего героя и картинка изчезнет вместе с умершим)
ответ
ну попробуй так
перед созданием сбрось флаг
set a=GetUnitUIDefByIdCaching(unitid)
if a>0 then
call WMem(a+0xB8,0)
endif
после создания единицу обратно пишешь, должно сработать

23

» WarCraft 3 / Пиратки и лицензия

Похожие вопросы:

ответ
Эти названия задаются в файле UI\WorldEditStrings. Достаточно один раз перевести там - и в редакторе это будет работать на всех картах.
прошу не накидываться с агрессией и криками "Лицензию не завезли?"
Лицензию не завезли? Подумай, чисто из уважения к близзам нужно иметь лицензию.
Ниже прикреплён WorldEditStrings из версии 1.26а.

23

» WarCraft 3 / Триггеры

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
спасибо, XGM Bot!
Нашел это - xgm.guru/p/blog-nvc123/ur1-3
ответ
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
ответ
Filius Dei, во вредные советы подъехали...
Русификатор очень поможет тем кто собрался ломануть чужую карту и сделать её мод, прям ваще жир...
Потом нубам вроде сударя не стоит бежать ломать чужую карту, чето там пытатся копировать - это все бесполезно, недавно был похожий вопрос - помогите взломать карту за вознаграждение, карту сломали - ну а дальше что? Он неспособен ничего сделать потому что просто не понимает как?
Играя в некую карту вы мните себя великими балансерами и картоделами, мол да чё там, шяс подправлю пару значений и все будет норм - нет не будет, это не так просто как может показаться, без понимания устройства карты и знания Jass вам нечего там делать, вы тупо ничего не сможете изменить, да даже скопировать и вставить!
Помните что без труда не выловишь и рыбку из пруда, т.е изи способов в 1 кнопку взять и запилить чужую карту так как вам хочется или вдруг стащить всех героев себе в карту нет, а уж теболее не случится так что вам кто то возьмет и все это сделает вам за спасибо...

23

» WarCraft 3 / Общая система золота

Похожие вопросы:

ответ
Melissa:
Пик еври юнит ин 1100 ов позишн ов юнит
утекает группа + точка
Вместо тысячи слов - изучай наработку.
поставил кастомскрипты для удаления группы и группы игроков (destroygroup и destroyforce), но так после первого срабатывания триггера, дальше уже ничего не работает
ответ
По завершении строительства фермы увеличивай число получаемого игроком золота (переменная из масива), а при смерти - уменьшай. (соответственно, наоборот, для пехотинцев)
А вообще - фича бесполезная в рамках стандартного мили-режима варкрафта. Слишком профитно уходить в экономику.

23

» WarCraft 3 / Триггерные заклинания

Похожие вопросы:

ответ
Всем спасибо, проблему решил за счет проверки на цвет/номер игрока как индекс в массиве переменных. Все работает как запланировано.
Вопрос вдогонку: как можно задавать сам индекс переменной-массива?)
З.Ы. Массивы конечно зло, но другого способа хранить инфо по одному спеллу, не используя множество переменных - пока не умею.
ответ
Заклинание "Подчинение" или "Очарование"(зависит от перевода) или "Charm" в английской версии.
ответ
Pingvinromeo, проблема в том что ты фигню творишь
если спел применён в точку то точка есть
перемещение это 1 действие
за это время точка не исчезнет
короче пруфы того что не работает
ответ
  1. Для этого есть xgm.guru/p/wc3/needspells
  2. Рекомендую прочитать статьи по этому поводу.
3.
  1. Или такой пример
local unit c = GetTriggerUnit()
local unit tg = GetSpellTargetUnit()
//local real x1 = GetUnitState(c, UNIT_STATE_MAX_LIFE )
//local real x2 = GetUnitState(c, UNIT_STATE_MAX_MANA )
//local real x3 = GetUnitState(c, UNIT_STATE_MANA )
//local real z = I2R(GetHeroAgi(c, TRUE ))
//local real z1 = I2R(GetHeroAgi(c, TRUE ))
//local real z2 = I2R(GetHeroStr(c, TRUE ))
//local real z3 = I2R(GetHeroInt(c, TRUE ))
local real zall = I2R(GetHeroInt(c, TRUE ) + GetHeroStr(c, TRUE ) + GetHeroAgi(c, TRUE ))
call UnitDamageTarget( c, tg, zall, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
set c = null
set tg = null
И вообще сформулируйте вопрос правильнее..

23

» WarCraft 3 / Требуется помощь!

Похожие вопросы:

ответ
Интелект-целочисленная
Урон-реальная(дробная)
Конвертируй I2R. Ща скрин сделаю
prntscr.com/2fuiuo (Прошу прощения, если этот сайт не поддерживается XGM)
вот так получится
ответ
Nikitos6, проверь галочки во вкладке "Вид"
ответ
Нашёл!! Оказывается нужно было в конце пути дописать ".mdx"
ответ
Используй GMax, тот же самый 3ds max, только бесплатный.

23

» WarCraft 3 / Предметы для классов

Похожие вопросы:

ответ
Писать для них искусственный интеллект. В базе была статья про создание ИИ для героев, но куда-то делась. Попробую найти.
UPD: Вот, восстановили, была недоступна из-за ошибки базы.
Правда конкретно про предметы там нет, но можно догадаться на примере того, как реализованы другие действия.
ответ
закрыт по таймауту
ответ
если классов очень много сделай как я . пишешь название предметов так
+1d_Железный молот - что же всё это означает
проверяешь имя предмета и substring ловишь первые 3 значения
+-озночает что предмет классовый
1-уменя означал уровень предмета для тебя можешь удалить
d-означает какой класс может его поднять
ну или красевей название типо +ABS Железный меч ну тему ты уловил думаю

23

» WarCraft 3 / Сохранения в мультиплеере

Похожие вопросы:

ответ
Ну как бы там все одно да потому, код тот же что я описал выше, вот только проверять все надо в МУИ это раз, два время затраченное на синхронизацию может быть пипец каким большим...
function Trig_SyncStr_Actions takes nothing returns nothing
    local string splayer = null
    local player pl = Player(0)
    
    if GetLocalPlayer() == pl then
        call StoreString( udg_Data, "A", "B", "твоя строка!" )
    endif

    call TriggerSyncReady()
    
    if GetLocalPlayer) == pl  then
        call SyncStoredString( udg_Data, "A", "B"  )
    endif

    call TriggerSleepAction( 2.00 )
    
    call TriggerSyncReady()
    
    set splayer = GetStoredString( udg_Data, "A", "B" ) // выгрузи строку из кеша в локалку и делай с ней что хочешь
    
endfunction

//===========================================================================
function InitTrig_SyncStr takes nothing returns nothing
    set gg_trg_SyncStr = CreateTrigger(  )
    call TriggerAddAction( gg_trg_SyncStr, function Trig_SyncStr_Actions )
endfunction
Триггер запускаем ExecuteTrigger а "Твоя строка" заменяется на глобальную переменную.

23

» WarCraft 3 / Больше одного героя (одного типа).

Похожие вопросы:

ответ
закрыт по таймауту
ответ
глобальный массив не нужен. сохраняй группу в хэш-таблицу на хэндл героя, потом загружай ее когда надо. у каждого героя будет своя группа
вот пример, молот бурь съедает юнита а удар грома ставит всех юнитов обратно
ответ
Proshel_Doty, иди учи тер вер
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик

23

» WarCraft 3 / Анимация юнита

Похожие вопросы:

ответ
AddUnitAnimationProperties(u,null,true)
SetUnitAnimationByIndex(u,8)
1 это прописываешь там де обьявляешь переменные после обьявления юнита
2 это прописываешь когда те анимация нужна поэкспериментируй от 0 до 30

а чтобы поднять это дело в воздух
UnitAddAbility(u, 'Arav')
UnitRemoveAbility(u,'Arav')
SetUnitFlyHeight(u,150,0)
ответ
gabriel_fisher, скорее всего, тебе нужны анимационные теги
теги бывают разные: alternate, gold, lumber, defend, flesh и др
например, у рабочего есть анимации attack, walk, death и если ему добавить тег lumber, тогда вместо этих анимаций будут проигрываться attack lumber, walk lumber и death lumber соответственно.
Теги можно добавлять/убирать тригерно
Анимация - Add/Remove Animation Tag
или с помощью jass
native AddUnitAnimationProperties takes unit whichUnit, string animProperties, boolean add returns nothing
Также теги можно добавлять в Редакторе Объектов
Графика - Нужная анимация
ответ
Suite, вот только придётся каждый раз вручную юзать этот спелл
SсRealm, ты вопрос прочти прежде чем писать всякий бред
нормальным способом момент добычи отловить нельзя
недавно кидали костыль позволяющий отловить удар по дереву но он тут не особо поможет
ибо анимации будут перебивать друг друга
в общем как и сказал Suite меняй это в самой модели
ответ
Переименуй анимацию в модели в например Stand Alternate и 1) и добавляй соответствующий тег или 2) проигрывай анимацию по индексу.
ответ
странно, но в любом случае, я снова дал не ту, эта именно обновляет скин - мороз, оживление, вот это всё пересчитывает. Вот функция смены модели:

function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		set a=RMem(LastConvertedHandle)+0x88
		if a>0 then
			set a=RMem(a)
			if a>0 then
				set s=GetStringAddress(modelpath)
				call CallThisCallWith3Args(a,LastConvertedHandle,s,1)
			endif
		endif
	endif
endfunction